home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD006b.dsk / THE.DUNGEON.OF.HTAM.bas < prev   
BASIC Source File  |  2003-06-12  |  11KB  |  423 lines

  1. 100  CALL  -936
  2. 110  PRINT "THE DUNGEON OF HTAM "
  3. 120  PRINT "APPLE 11 + "
  4. 140  PRINT 
  5. 150  PRINT "AN EDUCATIONAL MATH DUNGEON"
  6. 160  GOSUB 440
  7. 170  GOSUB 440
  8. 180  CALL  -936
  9. 190  DIM A(9,9,2)
  10. 200  PRINT "YOU WILL BE TELEPORTED TO . . . "
  11. 230  PRINT 
  12. 240 MA = 0:CA = 0:G = 1000:M1 = 1:K = 0
  13. 250  PRINT "ENTER YOUR CHARACTERS NAME?"
  14. 260  INPUT A$
  15. 270  GOSUB 440
  16. 280  PRINT : PRINT "YOU CARRY 1000 GOLD PIECES WITH YOU"
  17. 290  PRINT : GOSUB 440: PRINT A$;". . . YOU ARE ON YOUR WAY"
  18. 300  GOSUB 440
  19. 310  GOSUB 480
  20. 320  CALL  -936
  21. 330  PRINT "YOU HAVE ARIVED AT . . . . "
  22. 340  PRINT 
  23. 350  PRINT "THE DUNGEON OF HTAM . . . LEVEL 2"
  24. 360  PRINT 
  25. 370  PRINT "YOU WILL ENCOUNTER MONSTERS AND"
  26. 380  PRINT "THIEVES,AND GOLD . . . BUT WATCH"
  27. 390  PRINT "YOUR STEP  . . . . . . . . . . ."
  28. 400  PRINT "TRAP DOORS CAN BE COSTLY . . . ."
  29. 410  FOR AB = 1 TO 4545
  30. 420  NEXT AB
  31. 430  GOTO 1010
  32. 440  REM  DELAY
  33. 450  FOR Z2 = 1 TO 909
  34. 460  NEXT Z2
  35. 470  RETURN 
  36. 480  REM  SET UP TWO LEVEL DUNGEON
  37. 490  FOR X = 1 TO 8
  38. 500  FOR Y = 1 TO 8
  39. 510  FOR Z = 1 TO 2
  40. 520 A(X,Y,Z) =  INT( RND(1) *7 +1)
  41. 530  NEXT Z
  42. 540  NEXT Y
  43. 550  NEXT X
  44. 560  REM  TRAP DOOR #8, MIN-1, MAX-3
  45. 570 H =  INT( RND(1) *3 +1)
  46. 580  FOR A = 1 TO 2
  47. 590  FOR N = 1 TO H
  48. 600 X =  INT( RND(1) *8 +1)
  49. 610 Y =  INT( RND(1) *8 +1)
  50. 620 A(X,Y,A) = 8
  51. 630  NEXT N
  52. 640  NEXT A
  53. 650  REM  STAIRWAYS #9, MIN-3, MAX-6
  54. 660 S =  INT( RND(1) *4 +1) +2
  55. 670  FOR A = 1 TO 2
  56. 680  FOR N = 1 TO S
  57. 690 X =  INT( RND(1) *8 +1)
  58. 700 Y =  INT( RND(1) *8 +1)
  59. 710 A(X,Y,A) = 9
  60. 720  NEXT N
  61. 730  NEXT A
  62. 740  RETURN 
  63. 750  REM  STAIRWAY
  64. 760 L1 = L1 -1
  65. 770  PRINT "YOU WALK UP THE STAIRWAY"
  66. 780  GOSUB 440
  67. 790  PRINT "THE ENCHANTED KEY . . . OPENS THE LOCK"
  68. 800  GOSUB 440
  69. 810  IF L1 = O  THEN 870
  70. 820 MA = O:K = O:K4 =  INT( RND(1) *4 +1) +4
  71. 830  PRINT :CB = CA +K4
  72. 840  PRINT "YOU ARE AT. . . . . LEVEL 1"
  73. 850  GOSUB 440: GOSUB 440
  74. 860  GOTO 1070
  75. 870  PRINT "YOU FOUND YOUR WAY . . . "
  76. 880  PRINT ". . . OUT OF THE DUNGEON OF HTAM"
  77. 890  PRINT 
  78. 900  PRINT "YOU HAVE ACQUIRED ";G;" GOLD PIECES"
  79. 910  GOSUB 930
  80. 920  GOTO 1910
  81. 930 GG =  +100: REM  RATING  
  82. 940 R =  INT((GG *CA -7OOO +1)/M1)
  83. 950  PRINT 
  84. 960  PRINT "GAME RATING IS";R
  85. 970  PRINT : IF G < = 0  THEN 4300
  86. 980  PRINT "YOU TOOK ";M1;"TURNS TO FIND YOUR WAY OUT,"
  87. 990  PRINT "AND ANSERED ";CA;"QUESTIONS CORRECTLY."
  88. 1000  RETURN 
  89. 1010  REM  SET UP FIRST MOVE
  90. 1020 C =  INT( RND(1) *8 +1)
  91. 1030 D =  INT( RND(1) *8 +1)
  92. 1040 A(C,D,2) = 1
  93. 1050 L1 = 2
  94. 1060 K4 =  INT( RND(1) *4 +1) +4
  95. 1070  REM  PLAYER MOVE ROUTINE
  96. 1080  CALL  -936
  97. 1090 A = A(C,D,L1)
  98. 1100  GOSUB 440
  99. 1110  ON A GOSUB 2220,2280,2340,2340,2390,2700,2750,2800,3080
  100. 1120  PRINT 
  101. 1130  IF G < = 0  THEN 1820
  102. 1140  PRINT A$;",  WHAT IS YOUR ACTION OR MOVE?"
  103. 1150  PRINT 
  104. 1160  PRINT "(N)ORTH, (E)AST, (S)OUTH, (W)EST"
  105. 1170  PRINT "(U)P, (M)AP, (G)OLD"
  106. 1180  INPUT M1$
  107. 1190 M1 = M1 +1: IF K = 0  AND M1 > = 140/L1  THEN 4210
  108. 1200  IF M1$ = "N"  THEN 1290
  109. 1210  IF M1$ = "E"  THEN 1340
  110. 1220  IF M1$ = "S"  THEN 1390
  111. 1230  IF M1$ = "W"  THEN 1440
  112. 1240  IF M1$ = "U"  THEN 1490
  113. 1250  IF M1$ = "M"  THEN 1610
  114. 1260  IF M1$ = "G"  THEN 1670
  115. 1270  PRINT 
  116. 1280  GOTO 1120
  117. 1290  REM  NORTH MOVEMENT
  118. 1300  IF A = 7  THEN 1710
  119. 1310  IF (D -1) = 0  THEN 1980
  120. 1320 D = D -1
  121. 1330  GOTO 1070
  122. 1340  REM  EAST MOVEMENT
  123. 1350  IF A = 6  THEN 1770
  124. 1360  IF (C +1) = 9  THEN 2030
  125. 1370 C = C +1
  126. 1380  GOTO 1070
  127. 1390  REM  SOUTH MOVEMENT
  128. 1400  IF A = 7  THEN 1710
  129. 1410  IF (D +1) = 9  THEN 2050
  130. 1420 D = D +1
  131. 1430  GOTO 1070
  132. 1440  REM  WEST MOVEMENT
  133. 1450  IF A = 6  THEN 1770
  134. 1460  IF (C -1) = 0  THEN 2070
  135. 1470 C = C -1
  136. 1480  GOTO 1070
  137. 1490  CALL  -936: REM  STAIRWAY UP
  138. 1500  IF A < >9  THEN 1580
  139. 1510  IF K = 1  THEN 750
  140. 1520  PRINT 
  141. 1530  PRINT "YOU CANNOT GO UP THE STAIRWAY"
  142. 1540  PRINT "YOU DONT HAVE THE KEY"
  143. 1550  GOSUB 440
  144. 1560  PRINT 
  145. 1570  GOTO 1120
  146. 1580  PRINT "YOU ARE NOT AT A STAAIRWAY"
  147. 1590  GOSUB 440
  148. 1600  GOTO 1120
  149. 1610  CALL  -936: REM  MAP
  150. 1620  IF MA = 1  THEN 2090
  151. 1630  PRINT "YOU DONT HAVE THE MAP"
  152. 1640  PRINT 
  153. 1650  GOSUB 440
  154. 1660  GOTO 1120
  155. 1670  REM  GOLD PIECES
  156. 1680  CALL  -936: PRINT "YOU HAVE ";G;" GOLD PIECES WITH YOU"
  157. 1690  PRINT 
  158. 1700  GOTO 1120
  159. 1710  REM  EW CORRIDOR
  160. 1720  PRINT 
  161. 1730  CALL  -936: PRINT "YOU ARE IN THE EAST-WEST CORRIDOR"
  162. 1740  PRINT "YOU CAN ONLY GO EAST OR WEST"
  163. 1750  PRINT 
  164. 1760  GOTO 1120
  165. 1770  REM  NS CORRIDOR
  166. 1780  PRINT 
  167. 1790  CALL  -936: PRINT "YOU ARE IN A NORTH SOUTH CORRIDOR"
  168. 1800  PRINT "YOU CAN ONLY GO NORTH OR SOUTH"
  169. 1810  GOTO 1750
  170. 1820  REM  GOLD ZERO
  171. 1830  GOSUB 440: GOSUB 440
  172. 1840  PRINT 
  173. 1850  PRINT "YOU LOST ALL YOUR GOLD AND "
  174. 1860  PRINT " . . . UNABLE TO MEET THE DEMANDS OF"
  175. 1870  PRINT " . . . THE DUNGEON OF HTAM"
  176. 1880  PRINT : PRINT 
  177. 1890  PRINT "BETTER LUCK NEXT TIME"
  178. 1900  GOSUB 930
  179. 1910  PRINT 
  180. 1920  PRINT "ANOTHER GAME"
  181. 1930  PRINT "ENTER '1' YES  '0' NO"
  182. 1940  INPUT AA
  183. 1950  IF AA < >  THEN 1970
  184. 1960  CALL  -936: GOTO 220
  185. 1970  END 
  186. 1980  CALL  -936: PRINT "YOU ARE AT THE NORTH WALL"
  187. 1990  PRINT "YOU CANNOT PASS THROUGH"
  188. 2000  PRINT 
  189. 2010  PRINT "TRY ANOTHER DIRECTION"
  190. 2020  GOTO 1120
  191. 2030  CALL  -936: PRINT "YOU ARE AT THE EAST WALL"
  192. 2040  GOTO 1990
  193. 2050  CALL  -936: PRINT "YOU ARE AT THE SOUTH WALL"
  194. 2060  GOTO 1990
  195. 2070  CALL  -936: PRINT "YOU ARE AT THE WEST WALL"
  196. 2080  GOTO 1990
  197. 2090  REM  DISPLAY MAP
  198. 2100  PRINT "THE DUNGEON OF HTAM *** MAP LEVEL ";L1;"***"
  199. 2110  PRINT 
  200. 2130  FOR Q = 1 TO 8
  201. 2140  FOR N = 1 TO 8
  202. 2150  IF C = N  AND D = Q  THEN  PRINT "P1  ";: GOTO 2180
  203. 2160 S1 = A(N,Q,L1)
  204. 2170  ON S1 GOSUB 3120,3120,3140,3140,3160,3180,3200,3220,3230
  205. 2180  NEXT N
  206. 2190  PRINT 
  207. 2200  NEXT Q
  208. 2210  GOTO 1120
  209. 2220  REM  EMPTY ROOM
  210. 2230  PRINT 
  211. 2240  PRINT "YOU ARE IN A COLD AND DARK"
  212. 2250  PRINT " . . . . . . EMPTY CHAMBER"
  213. 2260  PRINT 
  214. 2270  RETURN 
  215. 2280  REM  EMPTY ROOM 2
  216. 2290  PRINT 
  217. 2300  PRINT "YOU ARE IN A DAMP AND MISTY"
  218. 2310  PRINT ". . . . . . . EMPTY CHAMBER"
  219. 2320  PRINT 
  220. 2330  RETURN 
  221. 2340  CALL  -936: GOSUB 4160
  222. 2350 M4 =  INT( RND(1) *4 +1)
  223. 2360  ON M4 GOSUB 3250,3380,3550,3680
  224. 2370  PRINT 
  225. 2380  RETURN 
  226. 2390  CALL  -936: PRINT "THERE IS A THIEF IN THIS CHAMBER"
  227. 2400 A(C,D,L1) = 2
  228. 2410  GOSUB 440
  229. 2420 G4 =  INT( RND(1) *350/L1 +1)
  230. 2430 Y =  INT( RND(1) *8 +1)
  231. 2440  IF Y < = 3  THEN 2610
  232. 2450  PRINT 
  233. 2460  PRINT " . . . . . . . HE SURPRISES YOU"
  234. 2470  GOSUB 440
  235. 2480  PRINT "AS HE QUICKLY PASSES YOU HE"
  236. 2490  PRINT "SNATCHES . . .";G4;"GOLD PIECES": PRINT 
  237. 2500 G = G -G4
  238. 2510  REM  LOOK FOR MAP
  239. 2520  IF MA = 1  THEN  RETURN 
  240. 2530 MA =  INT( RND(1) *4 +1): IF MA < = 2  THEN MA = 1
  241. 2540  IF MA = 1  THEN 2570
  242. 2550  RETURN 
  243. 2560  GOSUB 440
  244. 2570  PRINT "YOU SEARCH THE CHAMBER AND"
  245. 2580  GOSUB 440
  246. 2590  PRINT "YOU . . . . . FIND A MAP"
  247. 2600  RETURN 
  248. 2610  PRINT "YOU SURPRISED A THIEF . . . .  "
  249. 2620  GOSUB 440
  250. 2630  PRINT "AS HE RUNS OUT HE DROPS. . . . "
  251. 2640  PRINT " . . . ";G4;" GOLD PIECES."
  252. 2650  PRINT "YOU PICK UP THE GOLD PIECES":G = G +G4
  253. 2660  PRINT : IF MA = 1  THEN  RETURN 
  254. 2670 MA =  INT( RND(1) *4 +1): IF MA <2  THEN MA = 1
  255. 2680  IF MA = 1  THEN 2570
  256. 2690  RETURN 
  257. 2700  CALL  -936: REM  NORTH SOUTH CORRIDOR
  258. 2710  PRINT 
  259. 2720  GOSUB 4350: PRINT ". . . ENTER A NORTH-SOUTH CORRIDOR"
  260. 2730  PRINT : GOSUB 4330
  261. 2740  RETURN 
  262. 2750  CALL  -936: REM  EAST WEST CORRIDOR
  263. 2760  PRINT 
  264. 2770  GOSUB 4350: PRINT " . . . ENTER AN EAST WEST CORRIDOR"
  265. 2780  PRINT 
  266. 2790  RETURN 
  267. 2800  REM  TRAP DOOR
  268. 2810  PRINT "YOU ACTIVATED . . . A TRAP DOOR"
  269. 2820  GOSUB 440
  270. 2830 TD =  INT( RND(1) *4 +1)
  271. 2840  IF TD > = 3  THEN 2890
  272. 2850  PRINT 
  273. 2860  PRINT "BUT . . . YOU CAUGHT YOURSELF"
  274. 2870  PRINT "FROM FALLING"
  275. 2880  RETURN 
  276. 2890  IF L1 = 2  THEN 3000
  277. 2900 L1 -L1 +1: PRINT :K = 1
  278. 2910  PRINT "YOU FELL THROUGH TO LEVEL 2 . . . AND"
  279. 2920 G = 100
  280. 2930  GOSUB 440
  281. 2940  PRINT 
  282. 2950  PRINT "YOU . . . . . . . . LOST"
  283. 2960  PRINT "MOST OF YOUR GOLD PIECES": PRINT 
  284. 2970  PRINT "YOU HAVE . . ";G;" GOLD PIECES LEFT"
  285. 2980  PRINT "BUT . . . YOU STILL HAVE YOUR KEY"
  286. 2990  RETURN 
  287. 3000  PRINT "YOU FELL INTO A DEEP . . .PIT"
  288. 3010  GOSUB 440
  289. 3020  PRINT "YOU'RE LUCKY . . . ."
  290. 3030  PRINT "YOU DIDN'T GET HURT"
  291. 3040  PRINT 
  292. 3050  GOSUB 440
  293. 3060  PRINT "BUT IN CLIMBING OUT. . ."
  294. 3070  GOTO 4250
  295. 3080  PRINT "YOU ARE AT A STAIRWAY"
  296. 3090  PRINT ". . . . . . GOING UP"
  297. 3100  PRINT 
  298. 3110  RETURN 
  299. 3120  PRINT "0   ";
  300. 3130  RETURN 
  301. 3140  PRINT "M    ";
  302. 3150  RETURN 
  303. 3160  PRINT "?   ";
  304. 3170  RETURN 
  305. 3180  PRINT "NS   ";
  306. 3190  RETURN 
  307. 3200  PRINT "EW   ";
  308. 3210  RETURN 
  309. 3220  GOTO 3160
  310. 3230  PRINT "UP   ";
  311. 3240  RETURN 
  312. 3250  REM  ADD
  313. 3260  PRINT "HALT *** I AM DDA"
  314. 3270  GOSUB 3810
  315. 3280  GOSUB 3860
  316. 3290  PRINT X;"   +   ";Y;"   =   ";
  317. 3300 Z = X +Y
  318. 3310  INPUT A1
  319. 3320  IF A1 = Z  THEN 3360
  320. 3330  REM  LOOSE GOLD
  321. 3340  GOSUB 4020
  322. 3350  RETURN 
  323. 3360  GOSUB 3920
  324. 3370  RETURN 
  325. 3380  REM  SUB
  326. 3390  PRINT "STOP *** I AM BUS"
  327. 3400  GOSUB 3810
  328. 3410  GOSUB 3860
  329. 3420  PRINT X;"   -   ";Y;"   =   ";
  330. 3430 Z = X -Y
  331. 3440  INPUT A1
  332. 3450  IF A1 = Z  THEN 3480
  333. 3460  GOSUB 4020
  334. 3470  RETURN 
  335. 3480  GOSUB 3920
  336. 3490  RETURN 
  337. 3500  GOSUB 480
  338. 3510 H = 1:O = 9:W = 8
  339. 3520 B = O:E = 5:R = 14
  340. 3530 C = O:PR = O
  341. 3540  GOTO 1010
  342. 3550  REM  MULT
  343. 3560  PRINT "HALT *** I AM LUM"
  344. 3570  GOSUB 3810
  345. 3580  GOSUB 3860
  346. 3590  PRINT X;"   X   ";Y;"   =   ";
  347. 3600 Z = X *Y
  348. 3610  INPUT A1
  349. 3620  IF A1 = Z  THEN 3660
  350. 3630  REM  LOOSE GOLD
  351. 3640  GOSUB 4020
  352. 3650  RETURN 
  353. 3660  GOSUB 3920
  354. 3670  RETURN 
  355. 3680  REM  DIV
  356. 3690  PRINT "STOP *** I AM DIV"
  357. 3700  GOSUB 3810
  358. 3710  GOSUB 3860
  359. 3720  PRINT X *Y;"   /   ";Y;"   =   ";
  360. 3730 Z = X
  361. 3740  INPUT A1
  362. 3750  IF A1 = Z  THEN 3790
  363. 3760  REM  LOOSE GOLD
  364. 3770  GOSUB 4020
  365. 3780  RETURN 
  366. 3790  GOSUB 3920
  367. 3800  RETURN 
  368. 3810  PRINT 
  369. 3820  PRINT "YOU MAY NOT PASS THROUGH UNTIL"
  370. 3830  PRINT "YOU ANSWER THIS MATH QUESTION"
  371. 3840  PRINT 
  372. 3850  RETURN 
  373. 3860  REM  RANDOM ROUTINE
  374. 3870 Y =  INT( RND(1) *30/L1 +1)
  375. 3880 X =  INT( RND(1) *30/L1 +1)
  376. 3890  PRINT "WHAT IS . . ."
  377. 3900  GOSUB 440
  378. 3910  RETURN 
  379. 3920  PRINT "CORRECT"
  380. 3930 G4 =  INT( RND(1) *400/L1 +1) +25
  381. 3940 G = G +G4
  382. 3950  GOSUB 440
  383. 3960  PRINT "YOU WIN ";G4;" GOLD PIECES"
  384. 3970 A(C,D,L1) = 1
  385. 3980 CA = CA +1: IF K = 1  THEN  RETURN 
  386. 3990  IF CA = K4  THEN 4110
  387. 4000  IF L1 = 1  THEN 4230
  388. 4010  RETURN 
  389. 4020  PRINT 
  390. 4030  PRINT "INCORRECT"
  391. 4040  PRINT "THE CORRECT ANSWER IS ";Z
  392. 4050  PRINT 
  393. 4060 G4 =  INT( RND(1) *350/L1 +1)
  394. 4070 G = G -G4
  395. 4080  GOSUB 440
  396. 4090  PRINT "YOU LOOSE ";G4;" GOLD PIECES"
  397. 4100  RETURN 
  398. 4110  GOSUB 440
  399. 4120 K = 1
  400. 4130  PRINT : PRINT "YOU HAVE FOUND THE ENCHANTED KEY . . "
  401. 4140  GOSUB 440
  402. 4150  RETURN 
  403. 4160  PRINT "YOU DISTURBED A MONSTER IN THIS CHAMBER"
  404. 4170  GOSUB 440
  405. 4180  PRINT "AND HE SPEAKS . . . . . . . . . ": PRINT 
  406. 4190  GOSUB 440
  407. 4200  RETURN 
  408. 4210  GOSUB 4120
  409. 4220  GOTO 1220
  410. 4230  IF CA = CB  THEN 4110
  411. 4240  RETURN 
  412. 4250 G = 100: GOSUB 440: PRINT 
  413. 4260  PRINT "YOU . . . . . DROPPED"
  414. 4270  PRINT "MOST OF YOUR GOLD PIECES"
  415. 4280  PRINT "YOU HAVE . .";G;" GOLD PIECES LEFT"
  416. 4290  RETURN 
  417. 4300  PRINT "YOU ANSWERED ";CA;" QUESTIONS CORRECTLY"
  418. 4310  PRINT " . . . . .IN";M1;" TURNS."
  419. 4320  RETURN 
  420. 4330  PRINT "THE DOOR CLOSES AND LOCKS BEHIND YOU": GOSUB 440
  421. 4340  RETURN 
  422. 4350  PRINT "YOU OPENED A SECRET DOOR AND . . . .": GOSUB 440
  423. 4360  RETURN